#pragma once

#include <d3dx9.h>
#include "OMInterface.h"

class COMInterfaceDX9: public COMInterfaceBase
{
private:
    IDirect3DSurface9 **m_ppRenderTarget;
    IDirect3DSurface9  *m_pDS;
    IDirect3DSurface9  *m_pOrigRT;
    IDirect3DSurface9  *m_pOrigDS;
    D3DVIEWPORT9        m_ViewPort;
    D3DVIEWPORT9        m_PrevViewPort; 

public:
    COMInterfaceDX9                  ( );
    ~COMInterfaceDX9                 ( );
    virtual mVoid SaveCurrentRT      ( );
    virtual mVoid RestoreRT          ( );
    virtual mVoid CreateRenderTarget ( CTexture2D *a_pTexture[], mUInt a_uRenderTargetsCount );
    virtual mVoid CreateDepthStencil ( CTexture2D *a_pTexture );
    virtual mVoid SetRenderTargets   ( );
};